package com.wongsir.step1.tiny_ioc;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * step1：单纯的Map，有get和put bean的功能
 * @author hjd
 * @date 2018年9月12日
 */
public class BeanFactory {
	
	private Map<String,BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<>();
	
	/**
	 * get bean from Map
	 * @param name
	 * @return
	 */
	public Object getBean(String name) {
		return beanDefinitionMap.get(name).getBean();
	}
	
	/**
	 * put bean in Map (register bean)
	 * @param name
	 * @param beanDefinition
	 */
	public void registerBeanDefinition(String name,BeanDefinition beanDefinition) {
		beanDefinitionMap.put(name, beanDefinition);
	}
}
